ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π²ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ²
class Device {
protected:
string deviceId;
string manufacturer;
bool isActive;
public:
Device(const string& id, const string& maker)
: deviceId(id), manufacturer(maker), isActive(false) {}
void activate() { isActive = true; }
void deactivate() { isActive = false; }
bool getStatus() const { return isActive; }
};
class NetworkDevice : public Device {
protected:
string ipAddress;
string macAddress;
public:
NetworkDevice(const string& id, const string& maker, const string& ip)
: Device(id, maker), ipAddress(ip) {}
void setMacAddress(const string& mac) { macAddress = mac; }
string getIpAddress() const { return ipAddress; }
};
class Router : public NetworkDevice {
private:
int portCount;
vector<string> routingTable;
public:
Router(const string& id, const string& maker, const string& ip, int ports)
: NetworkDevice(id, maker, ip), portCount(ports) {}
void addRoute(const string& destination) {
routingTable.push_back(destination);
}
};